Python对txt文档进行读,写,追加,修改操作(open,pandas,numpy) 您所在的位置:网站首页 python 写文本文件 Python对txt文档进行读,写,追加,修改操作(open,pandas,numpy)

Python对txt文档进行读,写,追加,修改操作(open,pandas,numpy)

2023-08-21 20:37| 来源: 网络整理| 查看: 265

Python对txt文档进行读,写,追加,修改操作

上次写了一篇 Python对csv文档进行读,写,追加操作,这次写一篇关于txt的操作。 本文将使用open,pandas,numpy三种方式对txt文档进行读,写,追加,在此不推荐使用此方式操作➡ f = open(’test.txt’, ‘w’),因为该方法结束时候需要使用f.close(),如果忘记写close,则可能出现数据丢失的情况

1.with open()方式 读: with open("test.txt","r") as f: lines=f.readlines() #读行 print(lines)

输出:

['第一行内容\n', '第二行内容'] 写: with open("test.txt","w") as f: f.writelines('内容') f.writelines("\n") 追加: with open("test.txt","a") as f: f.writelines('内容') f.writelines("\n")

只需要修改模式,详情如下表

打开方式功能Notew写若存在内容,原内容会先清空,不存在文件则会新建w+写读(先写后读)若存在内容,原内容会先清空,不存在文件则会新建r读文件必须存在r+读写(先读后写)文件必须存在a追加如存在数据,新数据将添加到结尾,不存在文件则会新建a+追加如存在数据,新数据将添加到结尾,不存在文件则会新建wb+二进制方式写读(先写后读)若存在内容,原内容会先清空,不存在文件则会新建rb+二进制方式读写(先读后写)文件必须存在ab+二进制方式追加如存在数据,新数据将添加到结尾,不存在文件则会新建 修改:

修改的方法只能先读后写了

#read with open(newfile,"r") as f: lines=f.readlines() data=[] for i in lines: #根据条件修改 if('abc' in i): i=i.replace('abc','def') #修改abc为def data.append(i) #记录每一行 #write with open(newfile,"w") as f: for i in data: f.writelines(i) 2.pandas方式 读

header=None 没有列标签,不添加是有列标签,默认是True sep=’,’ 以逗号为间隔,也可以空格 在这里插入图片描述

import pandas as pd data = pd.read_table('data.txt', sep=',') print(data)

输出

col_a col_b 0 1 2 1 3 4 写

index=None ,不显示行名字 sep=’,’ 逗号为间隔

import pandas as pd a = [1,2] b = [3,4] data = pd.DataFrame({'col_a':a,'col_b':b}) df=pd.DataFrame(data) df.to_csv('data.txt',sep=',',index=None) 追加

先读后插入

import pandas as pd data = pd.read_table('data.txt', sep=' ') data.loc[data.shape[0]] = {'col_a':1,'col_b':0} # 加行 np.savetxt("data.txt",data) data.insert(loc=0,column='col_c',value=6)#加列 3.numpy方式

在这里插入图片描述

读 import numpy as np a=np.loadtxt('data.txt') print(a)

输出:

[[1. 2.] [3. 4.]] 写

输出的结果带了很多0…

import numpy as np data = np.array([[1,2],[3,4]]) np.savetxt("data.txt",data)

在这里插入图片描述

追加

先读后插入 np.insert(a,0,[5,6],axis=0),第一个0代表的是插入位置,0是第一行

import numpy as np a=np.loadtxt('data.txt') data=np.insert(a,0,[5,6],axis=0) np.savetxt("data.txt",data)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有